// import { Message } from 'element-ui'
//
// function JCCache() {
//   this.storage = window.localStorage
// }
// JCCache.prototype.setCacheItem = function(key, c) {
//   this.storage.setItem(key, c)
// }
// JCCache.prototype.getCacheItem = function(key, c) {
//   return this.storage.getItem(key)
// }
// JCCache.prototype.removeCacheItem = function(key) {
//   this.storage.removeItem(key)
// }
//
// function JCCachePool(s, xzqhVersion) {
//   this.sn = s
//   this.xzqhVersion = xzqhVersion
//   this.keys = {
//     pbx: 'pbx',
//     org: 'org', /* 组织机构*/
//     gtype: 'gtype', /* goodstype 商品类型*/
//     curstore: 'curstore', /* 当前用户组织下所有仓库*/
//     //	baseprice:"baseprice",/*基础价格*/
//     printurl: 'print_url',
//     print_tp: 'print_tp', /* 打印模板*/
//     areaprice: 'areaprice',
//     corpprice: 'corpprice', /* 总公司价格*/
//     serviceprice: 'serviceprice', /* 服务费*/
//     crmtype: 'crmtype', /* 客户类型 */
//     warnlevel: 'warnlevel', /* 安全隐患*/
//     xzqh: 'xzqh', /* 行政区划*/
//     call_dev_num: 'devnum' /* 呼叫中心设备编号*/
//   }
//   this.cache = new JCCache()
// }
// JCCachePool.prototype.getCacheItem = function(k) {
//   return this.cache.getCacheItem(k)
// }
// JCCachePool.prototype.setCacheItem = function(k, c) {
//   return this.cache.setCacheItem(k, c)
// }
// JCCachePool.prototype.removeCacheItem = function(k) {
//   this.cache.removeCacheItem(k)
// }
// JCCachePool.prototype.getPBXCache = function() {
//   return this.cache.getCacheItem(this.keys.pbx)
// }
// JCCachePool.prototype.setPBXCache = function(c) {
//   return this.cache.setCacheItem(this.keys.pbx, c)
// }
// JCCachePool.prototype.getDevNumCache = function() {
//   return this.cache.getCacheItem(this.keys.call_dev_num)
// }
// JCCachePool.prototype.setDevNumCache = function(c) {
//   return this.cache.setCacheItem(this.keys.call_dev_num, c)
// }
// JCCachePool.prototype.setPrintUrlCache = function(c) {
//   return this.cache.setCacheItem(this.keys.printurl, c)
// }
// JCCachePool.prototype.getPrintUrlCache = function() {
//   return this.cache.getCacheItem(this.keys.printurl)
// }
//
// JCCachePool.prototype.setPrintTPCache = function(c) {
//   return this.cache.setCacheItem(this.keys.print_tp, c)
// }
// JCCachePool.prototype.getPrintTPCache = function() {
//   return this.cache.getCacheItem(this.keys.print_tp)
// }
//
// /* 与 打印宝宝 通信类
//  * */
// export function JCPrint(n) {
//   this.username = n
//   this.url = undefined
//   this.ws = undefined
//   this.status = 0
//   this.cache = []
//   this.listener = undefined
// }
// JCPrint.prototype.setURL = function(url) {
//   this.url = url
// }
// JCPrint.prototype.checkSocket = function() {
//   if (this.status && this.ws) { return false }
//   var b = /^[\d]{1,3}.[\d]{1,3}.[\d]{1,3}.[\d]{1,3}:[\d]{4,5}$/gi
//   var c = /^ws:\/\/[\d]{1,3}.[\d]{1,3}.[\d]{1,3}.[\d]{1,3}:[\d]{4,5}$/gi
//
//   if (!this.url || (!c.test(this.url) && !b.test(this.url))) {
//     Message({
//       message: '请检查打印服务地址',
//       type: 'error'
//     })
//     return false
//   }
//
//   if (this.url.indexOf('ws') < 0) {
//     this.url = String.format('ws://{0}', this.url)
//   }
//   try {
//     this.ws = new WebSocket(this.url)
//   } catch (ex) {
//     this.ws = undefined
//     return false
//   }
//
//   var _this = this
//   this.ws.onopen = function() { _this.stateChange(1) }
//   this.ws.onmessage = function(event) { _this.receive(event && event.data) }
//   this.ws.onclose = function(event) { _this.stateChange(0) }
//   return true
// }
// JCPrint.prototype.fire = function() {
//   var _this = this
//   if (!(_this.cache && _this.cache.length > 0) || _this.timeInterval) {
//     return
//   }
//   _this.timeInterval = setInterval(function() {
//     console.log(new Date().format('yyyy-MM-dd HH:mm:ss'), 'index.js')
//     // var _ws = $dlh.printer;
//     if (_this.cache.length === 0) {
//       clearInterval(_this.timeInterval)
//       _this.timeInterval = undefined
//       if (_this.timelen && _this.timelen >= 500) {
//         _this.timelen = 200
//       }
//       return
//     }
//     if (!_this.ws) { return }
//     if (!_this.status && _this.ws.readyState !== 1) {
//       return
//     }
//     var content = _this.cache.splice(0, 1)[0]
//     // console.log("正要输送打印内容：" , content);
//     _this.ws.send(content)
//   }, _this.timelen || 500)
// }
// JCPrint.prototype.firePush = function(d) {
//   if (!this.ws) { return false }
//   if (!this.status && this.ws.readyState !== 1) {
//     return false
//   }
//   this.cache.push(d)
//   this.fire()
//   return true
// }
// JCPrint.prototype.connection = function(url) {
//   this.status = 0
//   this.url = url
//   if (!this.checkSocket()) {
//     this.stateChange(0)
//     return
//   }
//   this.firePush(String.format('{<{0}>}', this.username))
// }
// JCPrint.prototype.unConnection = function(username) {
//   if (this.ws) {
//     this.send('~')
//     // this.ws.close();
//     //  this.ws = null;
//   }
//
//   this.status = 0
// }
// JCPrint.prototype.tryConnection = function(url) {
//   if (!this.status) {
//     this.connection(url)
//     return
//   }
//   this.unConnection()
// }
// JCPrint.prototype.stateChange = function(b) {
//   this.status = b
//
//   if (!b) {
//     delete this.ws; this.ws = undefined
//     Message({
//       message: '与本地 打印宝宝 连接断开',
//       type: 'info'
//     })
//   } else {
//     this.timelen = 500
//     if (this.cache.length > 0) {
//       /*	while(this.cache.length>0){
//               this.send(this.cache[0]);
//               this.cache=this.cache.slice(1);
//           }*/
//
//       this.fire()
//     }
//     Message({
//       message: '与本地打印宝宝连接成功',
//       type: 'success'
//     })
//   }
// }
// JCPrint.prototype.send = function(msg) {
//   if (!this.ws) { return false }
//   if (!this.status && this.ws.readyState != 1) {
//     this.cache.push(msg)
//     return false
//   }
//   this.ws.send(msg)
//   return true
// }
// JCPrint.prototype.registListener = function(listener) {
//   this.listener = listener
// }
// JCPrint.prototype.clearListener = function() {
//   this.listener = undefined
// }
// JCPrint.prototype.receive = function(msg) {
//   // console.log('receive pbx msg', msg);
//   if (this.listener) {
//     this.listener(msg)
//   }
// }
// JCPrint.prototype.process = function(printcmd, doc, row, items) {
//   var tmpbl = false
//   delete printcmd.items
//   var arrayMap = {}
//   for (var i in doc.items) {
//     var el = doc.items[i]
//     if (el.etype && el.arrayname && !el.isarray) {
//       if (el.isfixed === 'y') {
//         el.y = arrayMap[el.arrayname].h + (el.top || 0) + (el.height || 0)
//         el.y1 = el.y
//         delete el.isfixed
//       } else if (el.isfixed === 'x') {
//         el.y = arrayMap[el.arrayname].h + (el.top || 0)
//         el.y1 = el.y + (el.height || 0)
//         delete el.isfixed
//       } else {
//         el.y = arrayMap[el.arrayname].l
//         el.y1 = arrayMap[el.arrayname].h + el.size
//       }
//       delete el.arrayname
//       if (el.etype === 1 && el.y1) {
//         delete el.y1
//       }
//     }
//     if (el.etype === 2 && !el.isarray) {
//       printcmd.elements.push(el)
//       continue
//     }
//     if (el.etype === 0) {
//       arrayMap[el.arrayname] = { l: el.l, h: el.h }
//       continue
//     }
//     if (el.isarray) {
//       if (items) {
//         if (!el.vtype) {
//           if (el.etype === 2) {
//             var h = 0; var c = el.y
//             for (var j in items) {
//               var ditem = items[j]
//               var tempel = {}
//               tempel = Object.assign(tempel, el)
//               // $.extend(tempel, el)
//               h += tempel.height
//               tempel.y = tempel.y1 = (c + h)
//               delete tempel.height
//               delete tempel.isarray
//
//               printcmd.elements.push(tempel)
//             }
//           }
//           continue
//         }
//
//         var h = 0
//         for (var j in items) {
//           var ditem = items[j]
//           var tempel = {}
//           tempel = Object.assign(tempel, el)
//           // $.extend(tempel, el)
//           tempel.y = (h + (el.y || 0))
//
//           h += el.height || 0
//           delete tempel.height
//           delete tempel.isarray
//           if (tempel.vtype === 1) {
//             delete tempel.vtype
//             tempel.evalue = tempel.pt
//             delete tempel.pt
//             printcmd.elements.push(tempel)
//           } else if (tempel.vtype === 2) {
//             delete tempel.vtype
//             tempel.evalue = ditem[tempel.pt] || ''
//             if (tempel.eval) {
//               tempel.evalue = eval(String.format(tempel.eval, tempel.evalue))
//             }
//             delete tempel.pt
//             printcmd.elements.push(tempel)
//           }
//         }
//         if (el.arrayname) {
//           arrayMap[el.arrayname].h += h
//         }
//       }
//       continue
//     }
//     if (el.vtype === 1) {
//       if (el.tmp && tmpbl === false) {
//         continue
//       }
//       delete el.vtype
//       el.evalue = el.pt
//       delete el.pt
//       printcmd.elements.push(el)
//     } else if (el.vtype === 2) {
//       delete el.vtype
//       if (el.pt) {
//         el.evalue = row[el.pt] || ''
//         if (el.eval) {
//           el.evalue = eval(String.format(el.eval, el.evalue))
//         }
//         delete el.pt
//       } else {
//         if (el.eval) {
//           el.evalue = eval(String.format(el.eval, JSON.stringify(row)))
//         }
//       }
//       printcmd.elements.push(el)
//     }
//   }
// }
//
// export function JCJSONTools() { this.JCJSON = window.JSON || {}; this.JCJSON.stringify = this.JCJSON.stringify || function(obj) { var t = typeof (obj); if (t != 'object' || obj === null) { if (t == 'string') { obj = '"' + obj + '"' } return String(obj) } else { var n; var v; var json = []; var arr = (obj && obj.constructor == Array); for (n in obj) { v = obj[n]; t = typeof (v); if (t == 'string') { v = '"' + v + '"' } else { if (t == 'object' && v.constructor == Date) { v = '"' + v.format('yyyy-MM-ddTHH:mm:ss.SZ') + '"' } else { if (t == 'object' && v !== null) { v = arguments.callee(v) } } }json.push((arr ? '' : '"' + n + '":') + String(v)) } return (arr ? '[' : '{') + String(json) + (arr ? ']' : '}') } } }
// JCJSONTools.prototype.toObj = function(json) {
//   if (json === undefined) { return }
//   if (typeof (json) === 'object' || typeof (json) === 'number') { return json }
//   var backObj = JSON.parse(json.replace(/[\b\n\r\t\f]/g, ''))
//   return backObj
// }
// JCJSONTools.prototype.toJson = function(obj) { return this.JCJSON.stringify(obj) }; function JCConvert() { this.intRegex = /^-?\d+$/; this.floatRegex = /^(-?\d+)(\.\d+)?$/; this.min_date = Date.parseDate('1991-01-01') }JCConvert.prototype.toDate = function(sdt) { return Date.parseDate(sdt) }; JCConvert.prototype.dateFormat = function(dt, fmt) { if (typeof (dt) === 'undefined') { return '' } if (typeof (dt) === 'string') { dt = this.toDate(dt) } if (typeof (dt) === 'number') { dt = new Date(dt) } if (dt < this.min_date) { return '' } return dt.format(fmt) }; JCConvert.prototype.toInt = function(str) { if (this.intRegex.test(str)) { return parseInt(str) } return 0 }; JCConvert.prototype.toFloat = function(str) { if (this.floatRegex.test(str)) { return parseFloat(str) } return 0 }; JCConvert.prototype.toDecimal = function(str, p) { if (this.floatRegex.test(str)) { return parseFloat(str).toFixed(p || 2) * 1 } return 0 }; JCConvert.prototype.dateDiff = function(interval, dt1, dt2) { if (!dt1) { dt1 = new Date() } if (!dt2) { dt2 = new Date() } if (arguments.length < 2) { return 0 } var objInterval = { 'D': 1000 * 60 * 60 * 24, 'H': 1000 * 60 * 60, 'M': 1000 * 60, 'S': 1000, 'T': 1 }; interval = interval.toUpperCase(); return Math.round((dt2.getTime() - dt1.getTime()) / eval('objInterval.' + interval)) }; function JCRegex() {}JCRegex.prototype.isMatch = function(r, s) { return new RegExp(r).test(s) }; JCRegex.prototype.replace = function(s, o, n) { return String(s).replace(new RegExp(o, 'g'), n) }
